package com.xqboss.apps.dto.equipment;

import com.xqboss.apps.enums.equipment.EquipmentUpgradeRecordTypeEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.PositiveOrZero;
import java.math.BigDecimal;

/**
 * 装备升级请求体
 */
@Data
@ApiModel
public class EquipmentUpgradeDto {

    @NotNull(message = "请选择用户装备ID")
    private Long userNftId;

    @NotNull(message = "请输入融入热豆数量")
    @Min(value = 0, message = "融入数量不能小于0")
    @ApiModelProperty("热豆消耗")
    private Integer integralExpend;

    @ApiModelProperty("热豆消耗折扣价格")
    private BigDecimal discountIntegralExpend;

    @NotNull(message = "请输入幸运值加点")
    @PositiveOrZero(message = "幸运值加点不能为负数")
    @ApiModelProperty("幸运值加点")
    private Integer luck;

    @NotNull(message = "请输入天赋值加点")
    @PositiveOrZero(message = "天赋值加点不能为负数")
    @ApiModelProperty("天赋值加点")
    private Integer talent;

    @NotNull(message = "请输入耐久值加点")
    @PositiveOrZero(message = "耐久值加点不能为负数")
    @ApiModelProperty("耐久值加点")
    private Integer durable;

    @NotNull(message = "请输入坚固值加点")
    @PositiveOrZero(message = "坚固值加点不能为负数")
    @ApiModelProperty("坚固值加点")
    private Integer strong;

    @NotNull(message = "请输入风险锻造状态")
    @ApiModelProperty("当前是否为风险锻造")
    private Boolean isRisk;

    @ApiModelProperty("是否特权升级")
    private Boolean isPrivilege;

    @ApiModelProperty(name = "升级类型")
    private EquipmentUpgradeRecordTypeEnum type;
}
